#pragma once

#include "OGRE/OgreRoot.h"
#include "OGRE/OgreRenderWindow.h"
#include "OGRE/OgreWindowEventUtilities.h"
#include "OGRE/OgreManualObject.h"
#include "OGRE/OgreEntity.h"
#include "OGRE/Overlay/OgreOverlaySystem.h"

class OgreGraphics
{
	public:
		OgreGraphics(void);
		~OgreGraphics(void);

		int init();
		void draw();

		bool isActiveWindow();
		void fillscene();
		std::string getHWnd();
		Ogre::RenderWindow* getWindow();
		Ogre::Root *getRoot();

		void fuckingCameraUp();
		void fuckingCameraDown();
		void fuckingCameraLeft();
		void fuckingCameraRight();
		void fuckingCameraTranslate(float, float, float);

	private:
		Ogre::Root *m_root;
		Ogre::RenderWindow* m_window;
		Ogre::SceneManager* m_sceneMgr;
		Ogre::Camera* m_camera;

		Ogre::SceneNode* fuckingYup;
		Ogre::SceneNode* fuckingYup2;
		Ogre::OverlaySystem *overlaySystem;

		bool m_init;

		void calcFuckingCircle(Ogre::Real *x, Ogre::Real *y, Ogre::Real x0, Ogre::Real y0, Ogre::Real R, Ogre::Degree angle);
		Ogre::Degree fuckingSun;
		Ogre::SceneNode* lFuckingSun;
};

